/**************************************************************
 * ui.h
 * Copyright (c) 2009  Qin Xiaoxue  <crs.chin@gmail.com>
 *
 * This file is  free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 * 
**************************************************************/


#ifndef __UI_H
#define __UI_H

#include <glib.h>

struct ui{
  gint (*ui_run)(void *data);
  gboolean  (*ui_cleanup)(void *data);

  void *data;
};

struct ui_descrip{
  struct ui *(*ui_init)(const gchar *args, gint argc, gchar **argv);

  const  gchar *name;
  const  gchar *description;
  const  gchar *author;
  const  gchar *mail;
  const  gchar *version;
};

/*
 *GLOBAL ARGS FOR UI MODULES:
 *   client_backend       (string(NAME))
 *   client_backend_file  (string(FILE))
 *   client_name          (string(NAME))
 *   lyric_plugin         (string(all, NAME))
 *   lyric_plugin_file    (string(FILE))
 *
 *NOTE: all ui modules make their own choice if none of above specified
 **/

#define UI_EXPORT_SYMBOL       ui_descrip
#define UI_EXPORT_SYMBOL_NAME "ui_descrip"


#endif /* __UI_H */

